home *** CD-ROM | disk | FTP | other *** search
/ Atari Mega Archive 1 / Atari Mega Archive - Volume 1.iso / mint / lib / mlib42d.zoo / diffh < prev    next >
Encoding:
Text File  |  1994-01-16  |  31.6 KB  |  1,411 lines

  1. *** 41.1    1993/11/03 14:12:50
  2. --- ./PatchLev.h    1993/11/04 03:25:52
  3. ***************
  4. *** 3,6 ****
  5.    *    directory.
  6.    */
  7.   
  8. ! #define _PatchLevel "41"
  9. --- 3,6 ----
  10.    *    directory.
  11.    */
  12.   
  13. ! #define _PatchLevel "42"
  14. *** 41.1    1993/11/03 14:12:50
  15. --- ./assert.h    1994/01/09 09:01:46
  16. ***************
  17. *** 6,12 ****
  18.   /* Allow this file to be included multiple times
  19.      with different settings of NDEBUG.  */
  20.   #undef assert
  21. - #undef assertval
  22.   
  23.   #ifndef _COMPILER_H
  24.   #include <compiler.h>
  25. --- 6,11 ----
  26. ***************
  27. *** 19,25 ****
  28.   
  29.   __EXTERN void __eprintf __PROTO((const char *expression, const long line,
  30.                    const char *filename));
  31. ! __EXTERN __EXITING abort __PROTO((void));
  32.   
  33.   #ifdef __cplusplus
  34.   }
  35. --- 18,24 ----
  36.   
  37.   __EXTERN void __eprintf __PROTO((const char *expression, const long line,
  38.                    const char *filename));
  39. ! __EXTERN __EXITING abort __PROTO((void)) __NORETURN;
  40.   
  41.   #ifdef __cplusplus
  42.   }
  43. ***************
  44. *** 27,44 ****
  45.   
  46.   
  47.   #ifdef NDEBUG
  48. ! #define    assert(cond)
  49. ! #define assertval(cond)
  50.   #else
  51.   
  52.   #if __STDC__
  53.   #define assert(cond) \
  54. ! if(!(cond)) \
  55. !     { __eprintf(#cond,(long)(__LINE__), __FILE__); abort(); }
  56. ! #define assertval(cond) \
  57. ! ((cond) ? 1 : \
  58.       ( __eprintf(#cond,(long)(__LINE__), __FILE__), abort(), 0 ))
  59.   #else
  60.   
  61.   
  62. --- 26,39 ----
  63.   
  64.   
  65.   #ifdef NDEBUG
  66. ! #define    assert(cond) (void *)0
  67.   #else
  68.   
  69.   #if __STDC__
  70.   #define assert(cond) \
  71. ! ((cond) ? 0 : \
  72.       ( __eprintf(#cond,(long)(__LINE__), __FILE__), abort(), 0 ))
  73.   #else
  74.   
  75.   
  76. ***************
  77. *** 56,66 ****
  78.   #endif /* __SOZOBON__ */
  79.   
  80.   #define assert(cond) \
  81. ! if(!(cond)) \
  82. !     { __eprintf("cond", (long)(__LINE__), __FILE__); abort(); }
  83. ! #define assertval(cond) \
  84. ! ((cond) ? 1:  \
  85.       ( __eprintf("cond", (long)(__LINE__), __FILE__), abort(), 0))
  86.   
  87.   #endif /* __STDC__ */
  88. --- 51,57 ----
  89.   #endif /* __SOZOBON__ */
  90.   
  91.   #define assert(cond) \
  92. ! ((cond) ? 0 : \
  93.       ( __eprintf("cond", (long)(__LINE__), __FILE__), abort(), 0))
  94.   
  95.   #endif /* __STDC__ */
  96. *** 41.1    1993/11/03 14:12:50
  97. --- ./compiler.h    1993/11/30 18:49:16
  98. ***************
  99. *** 33,38 ****
  100. --- 33,39 ----
  101.   /* __PTRDIFF_TYPEDEF__: the type of the difference of two pointers */
  102.   /* __WCHAR_TYPEDEF__:     wide character type (i.e. type of L'x') */
  103.   /* __EXITING:           the type of a function that exits */
  104. + /* __NORETURN:          attribute of a function that exits (gcc >= 2.5) */
  105.   /* __CDECL:             function must get parameters on stack */
  106.           /* if !__CDECL, passing in registers is OK */
  107.   
  108. ***************
  109. *** 68,74 ****
  110. --- 69,80 ----
  111.   #  define _WCHAR_T __WCHAR_TYPEDEF__
  112.   #endif
  113.   #endif
  114. + #if __GNUC__ > 2 || __GNUC_MINOR__ >= 5 /* false for gcc < 2.5 */
  115. + #define __NORETURN __attribute__ ((noreturn))
  116. + #define __EXITING void
  117. + #else
  118.   #define __EXITING volatile void
  119. + #endif
  120.   #define __VA_LIST__ void *
  121.   #ifndef __NO_INLINE__
  122.   # define __GNUC_INLINE__
  123. ***************
  124. *** 156,161 ****
  125. --- 162,171 ----
  126.   
  127.   #ifndef __CDECL
  128.   #define __CDECL
  129. + #endif
  130. + #ifndef __NORETURN
  131. + #define __NORETURN
  132.   #endif
  133.   
  134.   #ifndef __NULL
  135. *** 41.1    1993/11/03 14:12:50
  136. --- ./gdbm.h    1993/12/01 20:42:16
  137. ***************
  138. *** 1,11 ****
  139.   /* gdbm.h  -  The include file for dbm users.  */
  140.   
  141.   /*  This file is part of GDBM, the GNU data base manager, by Philip A. Nelson.
  142. !     Copyright (C) 1990, 1991  Free Software Foundation, Inc.
  143.   
  144.       GDBM is free software; you can redistribute it and/or modify
  145.       it under the terms of the GNU General Public License as published by
  146. !     the Free Software Foundation; either version 1, or (at your option)
  147.       any later version.
  148.   
  149.       GDBM is distributed in the hope that it will be useful,
  150. --- 1,11 ----
  151.   /* gdbm.h  -  The include file for dbm users.  */
  152.   
  153.   /*  This file is part of GDBM, the GNU data base manager, by Philip A. Nelson.
  154. !     Copyright (C) 1990, 1991, 1993  Free Software Foundation, Inc.
  155.   
  156.       GDBM is free software; you can redistribute it and/or modify
  157.       it under the terms of the GNU General Public License as published by
  158. !     the Free Software Foundation; either version 2, or (at your option)
  159.       any later version.
  160.   
  161.       GDBM is distributed in the hope that it will be useful,
  162. ***************
  163. *** 23,35 ****
  164.                   Computer Science Department
  165.                   Western Washington University
  166.                   Bellingham, WA 98226
  167. -         phone:  (206) 676-3035
  168.          
  169.   *************************************************************************/
  170.   
  171. ! #ifdef __cplusplus
  172. ! extern "C" {
  173. ! #endif
  174.   
  175.   /* Parameters to gdbm_open for READERS, WRITERS, and WRITERS who
  176.      can create the database. */
  177. --- 23,34 ----
  178.                   Computer Science Department
  179.                   Western Washington University
  180.                   Bellingham, WA 98226
  181.          
  182.   *************************************************************************/
  183.   
  184. ! /* Protection for multiple includes. */
  185. ! #ifndef _GDBM_H_
  186. ! #define _GDBM_H_
  187.   
  188.   /* Parameters to gdbm_open for READERS, WRITERS, and WRITERS who
  189.      can create the database. */
  190. ***************
  191. *** 37,48 ****
  192. --- 36,50 ----
  193.   #define  GDBM_WRITER  1        /* A writer. */
  194.   #define  GDBM_WRCREAT 2        /* A writer.  Create the db if needed. */
  195.   #define  GDBM_NEWDB   3        /* A writer.  Always create a new db. */
  196. + #define  GDBM_FAST    16    /* Write fast! => No fsyncs. */
  197.   
  198.   /* Parameters to gdbm_store for simple insertion or replacement in the
  199.      case that the key is already in the database. */
  200.   #define  GDBM_INSERT  0        /* Never replace old data with new. */
  201.   #define  GDBM_REPLACE 1        /* Always replace old data with new. */
  202.   
  203. + /* Parameters to gdbm_setopt, specifing the type of operation to perform. */
  204. + #define  GDBM_CACHESIZE 1       /* Set the cache size. */
  205.   
  206.   /* The data and key structure.  This structure is defined for compatibility. */
  207.   typedef struct {
  208. ***************
  209. *** 54,78 ****
  210.   /* The file information header. This is good enough for most applications. */
  211.   typedef struct {int dummy[10];} *GDBM_FILE;
  212.   
  213. ! /* These are the routines! */
  214. ! extern GDBM_FILE gdbm_open ();
  215.   
  216. ! extern void     gdbm_close ();
  217.   
  218. - extern datum     gdbm_fetch ();
  219.   
  220. ! extern int     gdbm_store ();
  221. ! extern int     gdbm_delete ();
  222. ! extern datum     gdbm_firstkey ();
  223.   
  224. ! extern datum     gdbm_nextkey ();
  225.   
  226. ! extern int     gdbm_reorganize ();
  227.   
  228.   
  229.   /* gdbm sends back the following error codes in the variable gdbm_errno. */
  230.   typedef enum {    GDBM_NO_ERROR,
  231. --- 56,140 ----
  232.   /* The file information header. This is good enough for most applications. */
  233.   typedef struct {int dummy[10];} *GDBM_FILE;
  234.   
  235. ! /* Determine if the C(++) compiler requires complete function prototype  */
  236. ! #if  __STDC__ || defined(__cplusplus) || defined(c_plusplus)
  237. ! #define GDBM_Proto(x) x
  238. ! #else
  239. ! #define GDBM_Proto(x) ()
  240. ! #endif /* NeedFunctionPrototypes */
  241.   
  242. ! /* External variable, the gdbm build release string. */
  243. ! extern char *gdbm_version;    
  244.   
  245.   
  246. ! /* GDBM C++ support */
  247. ! #if defined(__cplusplus) || defined(c_plusplus)
  248. ! extern "C" {
  249. ! #endif
  250.   
  251. ! /* These are the routines! */
  252.   
  253. ! extern GDBM_FILE gdbm_open GDBM_Proto((
  254. !      char *file,
  255. !      int  block_size,
  256. !      int  flags,
  257. !      int  mode,
  258. !      void (*fatal_func)()
  259. ! ));
  260. ! extern void gdbm_close GDBM_Proto((
  261. !      GDBM_FILE dbf
  262. ! ));
  263. ! extern int gdbm_store GDBM_Proto((
  264. !      GDBM_FILE dbf,
  265. !      datum key,
  266. !      datum content,
  267. !      int flags
  268. ! ));
  269. ! extern datum gdbm_fetch GDBM_Proto((
  270. !      GDBM_FILE dbf,
  271. !      datum key
  272. ! ));
  273. ! extern int gdbm_delete GDBM_Proto((
  274. !      GDBM_FILE dbf,
  275. !      datum key
  276. ! ));
  277. ! extern datum gdbm_firstkey GDBM_Proto((
  278. !      GDBM_FILE dbf
  279. ! ));
  280. ! extern datum gdbm_nextkey GDBM_Proto((
  281. !      GDBM_FILE dbf,
  282. !      datum key
  283. ! ));
  284. ! extern int gdbm_reorganize GDBM_Proto((
  285. !      GDBM_FILE dbf
  286. ! ));
  287. ! extern void gdbm_sync GDBM_Proto((
  288. !      GDBM_FILE dbf
  289. ! ));
  290. ! extern int gdbm_exists GDBM_Proto((
  291. !      GDBM_FILE dbf,
  292. !      datum key
  293. ! ));
  294. ! extern int gdbm_setopt GDBM_Proto((
  295. !      GDBM_FILE dbf,
  296. !      int optflag,
  297. !      int *optval,
  298. !      int optlen
  299. ! ));
  300.   
  301. + #if defined(__cplusplus) || defined(c_plusplus)
  302. + }
  303. + #endif
  304.   
  305.   /* gdbm sends back the following error codes in the variable gdbm_errno. */
  306.   typedef enum {    GDBM_NO_ERROR,
  307. ***************
  308. *** 93,101 ****
  309.           GDBM_ITEM_NOT_FOUND,
  310.           GDBM_REORGANIZE_FAILED,
  311.           GDBM_CANNOT_REPLACE,
  312. !         GDBM_ILLEGAL_DATA}
  313.       gdbm_error;
  314.   
  315. ! #ifdef __cplusplus
  316.   }
  317.   #endif
  318. --- 155,179 ----
  319.           GDBM_ITEM_NOT_FOUND,
  320.           GDBM_REORGANIZE_FAILED,
  321.           GDBM_CANNOT_REPLACE,
  322. !         GDBM_ILLEGAL_DATA,
  323. !         GDBM_OPT_ALREADY_SET,
  324. !         GDBM_OPT_ILLEGAL}
  325.       gdbm_error;
  326. + extern gdbm_error gdbm_errno;
  327. + /* extra prototypes */
  328. + /* GDBM C++ support */
  329. + #if defined(__cplusplus) || defined(c_plusplus)
  330. + extern "C" {
  331. + #endif
  332. + extern char *gdbm_strerror GDBM_Proto((
  333. +      gdbm_error error
  334. + ));
  335.   
  336. ! #if defined(__cplusplus) || defined(c_plusplus)
  337.   }
  338. + #endif
  339.   #endif
  340. *** 41.1    1993/11/03 14:12:50
  341. --- ./ioctl.h    1993/11/24 21:08:16
  342. ***************
  343. *** 110,115 ****
  344. --- 110,116 ----
  345.   #define B50        1
  346.   #define B75        2
  347.   #define B110        3
  348. + #define B134        4
  349.   #define B135        4
  350.   #define B150        5
  351.   #define B200        6
  352. *** 41.1    1993/11/03 14:12:50
  353. --- ./math-68881.h    1993/11/30 18:49:22
  354. ***************
  355. *** 1,6 ****
  356. - #ifndef _MATH_68881_H
  357. - #define _MATH_68881_H
  358.   /******************************************************************\
  359.   *                                   *
  360.   *  <math-68881.h>        last modified: 23 May 1992.       *
  361. --- 1,3 ----
  362. ***************
  363. *** 22,37 ****
  364.   *                                   *
  365.   \******************************************************************/
  366.   
  367.   /* If you find this in GCC,
  368.      please send bug reports to bug-gcc@prep.ai.mit.edu.  */
  369.   
  370. ! /* Changed by Richard Stallman: % inserted before a #.
  371.      New function `hypot' added.
  372.      Nans written in hex to avoid 0rnan.
  373.      May 1992, use %! for fpcr register.  Break lines before function names.
  374.      December 1989, add parens around `&' in pow.
  375.      November 1990, added alternate definition of HUGE_VAL for Sun.  */
  376.   
  377.   #include <errno.h>
  378.   
  379.   #ifdef __cplusplus
  380. --- 19,41 ----
  381.   *                                   *
  382.   \******************************************************************/
  383.   
  384. + /* This file is NOT a part of GCC, just distributed with it.  */
  385.   /* If you find this in GCC,
  386.      please send bug reports to bug-gcc@prep.ai.mit.edu.  */
  387.   
  388. ! /* Changed by Richard Stallman:
  389. !    May 1993, add conditional to prevent multiple inclusion.
  390. !    % inserted before a #.
  391.      New function `hypot' added.
  392.      Nans written in hex to avoid 0rnan.
  393.      May 1992, use %! for fpcr register.  Break lines before function names.
  394.      December 1989, add parens around `&' in pow.
  395.      November 1990, added alternate definition of HUGE_VAL for Sun.  */
  396.   
  397. + #ifndef __math_68881
  398. + #define __math_68881
  399.   #include <errno.h>
  400.   
  401.   #ifdef __cplusplus
  402. ***************
  403. *** 59,65 ****
  404.   #endif
  405.   #endif
  406.   
  407. ! __inline static const double
  408.   sin (double x)
  409.   {
  410.     double value;
  411. --- 63,77 ----
  412.   #endif
  413.   #endif
  414.   
  415. ! #if __GNUC__ > 2 || __GCC_MINOR__ >= 5
  416. ! #define __const_attribute __attribute ((const))
  417. ! #else
  418. ! #define __const_attribute
  419. ! #endif
  420. ! __inline static double
  421. ! sin (double x) __const_attribute;
  422. ! __inline static double
  423.   sin (double x)
  424.   {
  425.     double value;
  426. ***************
  427. *** 70,76 ****
  428.     return value;
  429.   }
  430.   
  431. ! __inline static const double
  432.   cos (double x)
  433.   {
  434.     double value;
  435. --- 82,90 ----
  436.     return value;
  437.   }
  438.   
  439. ! __inline static double
  440. ! cos (double x) __const_attribute;
  441. ! __inline static double
  442.   cos (double x)
  443.   {
  444.     double value;
  445. ***************
  446. *** 81,87 ****
  447.     return value;
  448.   }
  449.   
  450. ! __inline static const double
  451.   tan (double x)
  452.   {
  453.     double value;
  454. --- 95,103 ----
  455.     return value;
  456.   }
  457.   
  458. ! __inline static double
  459. ! tan (double x) __const_attribute;
  460. ! __inline static double
  461.   tan (double x)
  462.   {
  463.     double value;
  464. ***************
  465. *** 92,98 ****
  466.     return value;
  467.   }
  468.   
  469. ! __inline static const double
  470.   asin (double x)
  471.   {
  472.     double value;
  473. --- 108,116 ----
  474.     return value;
  475.   }
  476.   
  477. ! __inline static double
  478. ! asin (double x) __const_attribute;
  479. ! __inline static double
  480.   asin (double x)
  481.   {
  482.     double value;
  483. ***************
  484. *** 103,109 ****
  485.     return value;
  486.   }
  487.   
  488. ! __inline static const double
  489.   acos (double x)
  490.   {
  491.     double value;
  492. --- 121,129 ----
  493.     return value;
  494.   }
  495.   
  496. ! __inline static double
  497. ! acos (double x) __const_attribute;
  498. ! __inline static double
  499.   acos (double x)
  500.   {
  501.     double value;
  502. ***************
  503. *** 114,120 ****
  504.     return value;
  505.   }
  506.   
  507. ! __inline static const double
  508.   atan (double x)
  509.   {
  510.     double value;
  511. --- 134,142 ----
  512.     return value;
  513.   }
  514.   
  515. ! __inline static double
  516. ! atan (double x) __const_attribute;
  517. ! __inline static double
  518.   atan (double x)
  519.   {
  520.     double value;
  521. ***************
  522. *** 125,131 ****
  523.     return value;
  524.   }
  525.   
  526. ! __inline static const double
  527.   atan2 (double y, double x)
  528.   {
  529.     double pi, pi_over_2;
  530. --- 147,155 ----
  531.     return value;
  532.   }
  533.   
  534. ! __inline static double
  535. ! atan2 (double y, double x) __const_attribute;
  536. ! __inline static double
  537.   atan2 (double y, double x)
  538.   {
  539.     double pi, pi_over_2;
  540. ***************
  541. *** 155,173 ****
  542.       }
  543.     else
  544.       {
  545. !       if (y > 0)
  546.       {
  547. !       if (-x > y)
  548. !         return pi + atan (y / x);
  549.         else
  550. !         return pi_over_2 - atan (x / y);
  551.       }
  552.         else
  553.       {
  554. !       if (-x > -y)
  555. !         return - pi + atan (y / x);
  556. !       else if (y < 0)
  557. !         return - pi_over_2 - atan (x / y);
  558.         else
  559.           {
  560.             double value;
  561. --- 179,197 ----
  562.       }
  563.     else
  564.       {
  565. !       if (y < 0)
  566.       {
  567. !       if (-x > -y)
  568. !         return - pi + atan (y / x);
  569.         else
  570. !         return - pi_over_2 - atan (x / y);
  571.       }
  572.         else
  573.       {
  574. !       if (-x > y)
  575. !         return pi + atan (y / x);
  576. !       else if (y > 0)
  577. !         return pi_over_2 - atan (x / y);
  578.         else
  579.           {
  580.             double value;
  581. ***************
  582. *** 182,188 ****
  583.       }
  584.   }
  585.   
  586. ! __inline static const double
  587.   sinh (double x)
  588.   {
  589.     double value;
  590. --- 206,214 ----
  591.       }
  592.   }
  593.   
  594. ! __inline static double
  595. ! sinh (double x) __const_attribute;
  596. ! __inline static double
  597.   sinh (double x)
  598.   {
  599.     double value;
  600. ***************
  601. *** 193,199 ****
  602.     return value;
  603.   }
  604.   
  605. ! __inline static const double
  606.   cosh (double x)
  607.   {
  608.     double value;
  609. --- 219,227 ----
  610.     return value;
  611.   }
  612.   
  613. ! __inline static double
  614. ! cosh (double x) __const_attribute;
  615. ! __inline static double
  616.   cosh (double x)
  617.   {
  618.     double value;
  619. ***************
  620. *** 204,210 ****
  621.     return value;
  622.   }
  623.   
  624. ! __inline static const double
  625.   tanh (double x)
  626.   {
  627.     double value;
  628. --- 232,240 ----
  629.     return value;
  630.   }
  631.   
  632. ! __inline static double
  633. ! tanh (double x) __const_attribute;
  634. ! __inline static double
  635.   tanh (double x)
  636.   {
  637.     double value;
  638. ***************
  639. *** 215,221 ****
  640.     return value;
  641.   }
  642.   
  643. ! __inline static const double
  644.   atanh (double x)
  645.   {
  646.     double value;
  647. --- 245,253 ----
  648.     return value;
  649.   }
  650.   
  651. ! __inline static double
  652. ! atanh (double x) __const_attribute;
  653. ! __inline static double
  654.   atanh (double x)
  655.   {
  656.     double value;
  657. ***************
  658. *** 226,232 ****
  659.     return value;
  660.   }
  661.   
  662. ! __inline static const double
  663.   exp (double x)
  664.   {
  665.     double value;
  666. --- 258,266 ----
  667.     return value;
  668.   }
  669.   
  670. ! __inline static double
  671. ! exp (double x) __const_attribute;
  672. ! __inline static double
  673.   exp (double x)
  674.   {
  675.     double value;
  676. ***************
  677. *** 237,243 ****
  678.     return value;
  679.   }
  680.   
  681. ! __inline static const double
  682.   expm1 (double x)
  683.   {
  684.     double value;
  685. --- 271,279 ----
  686.     return value;
  687.   }
  688.   
  689. ! __inline static double
  690. ! expm1 (double x) __const_attribute;
  691. ! __inline static double
  692.   expm1 (double x)
  693.   {
  694.     double value;
  695. ***************
  696. *** 248,254 ****
  697.     return value;
  698.   }
  699.   
  700. ! __inline static const double
  701.   log (double x)
  702.   {
  703.     double value;
  704. --- 284,292 ----
  705.     return value;
  706.   }
  707.   
  708. ! __inline static double
  709. ! log (double x) __const_attribute;
  710. ! __inline static double
  711.   log (double x)
  712.   {
  713.     double value;
  714. ***************
  715. *** 259,265 ****
  716.     return value;
  717.   }
  718.   
  719. ! __inline static const double
  720.   log1p (double x)
  721.   {
  722.     double value;
  723. --- 297,305 ----
  724.     return value;
  725.   }
  726.   
  727. ! __inline static double
  728. ! log1p (double x) __const_attribute;
  729. ! __inline static double
  730.   log1p (double x)
  731.   {
  732.     double value;
  733. ***************
  734. *** 270,276 ****
  735.     return value;
  736.   }
  737.   
  738. ! __inline static const double
  739.   log10 (double x)
  740.   {
  741.     double value;
  742. --- 310,318 ----
  743.     return value;
  744.   }
  745.   
  746. ! __inline static double
  747. ! log10 (double x) __const_attribute;
  748. ! __inline static double
  749.   log10 (double x)
  750.   {
  751.     double value;
  752. ***************
  753. *** 281,287 ****
  754.     return value;
  755.   }
  756.   
  757. ! __inline static const double
  758.   sqrt (double x)
  759.   {
  760.     double value;
  761. --- 323,331 ----
  762.     return value;
  763.   }
  764.   
  765. ! __inline static double
  766. ! sqrt (double x) __const_attribute;
  767. ! __inline static double
  768.   sqrt (double x)
  769.   {
  770.     double value;
  771. ***************
  772. *** 292,315 ****
  773.     return value;
  774.   }
  775.   
  776. ! __inline static const double
  777. ! _sqrt (double x)
  778.   {
  779.     double value;
  780.   
  781.     __asm ("fsqrt%.x %1,%0"
  782.        : "=f" (value)
  783. !      : "f" (x));
  784.     return value;
  785. ! }
  786. ! __inline static const double
  787. ! hypot (const double x, const double y)
  788. ! {
  789. !   return _sqrt (x*x + y*y);
  790.   }
  791.   
  792. ! __inline static const double
  793.   pow (const double x, const double y)
  794.   {
  795.     if (x > 0)
  796. --- 336,361 ----
  797.     return value;
  798.   }
  799.   
  800. ! __inline static double
  801. ! hypot (const double x, const double y) __const_attribute;
  802. ! __inline static double
  803. ! hypot (const double x, const double y)
  804.   {
  805. + #if 0
  806. +   return sqrt (x*x + y*y);
  807. + #else
  808.     double value;
  809.   
  810.     __asm ("fsqrt%.x %1,%0"
  811.        : "=f" (value)
  812. !      : "f" (x*x + y*y));
  813.     return value;
  814. ! #endif
  815.   }
  816.   
  817. ! __inline static double
  818. ! pow (const double x, const double y) __const_attribute;
  819. ! __inline static double
  820.   pow (const double x, const double y)
  821.   {
  822.     if (x > 0)
  823. ***************
  824. *** 358,364 ****
  825.       }
  826.   }
  827.   
  828. ! __inline static const double
  829.   fabs (double x)
  830.   {
  831.     double value;
  832. --- 404,412 ----
  833.       }
  834.   }
  835.   
  836. ! __inline static double
  837. ! fabs (double x) __const_attribute;
  838. ! __inline static double
  839.   fabs (double x)
  840.   {
  841.     double value;
  842. ***************
  843. *** 369,375 ****
  844.     return value;
  845.   }
  846.   
  847. ! __inline static const double
  848.   ceil (double x)
  849.   {
  850.     int rounding_mode, round_up;
  851. --- 417,425 ----
  852.     return value;
  853.   }
  854.   
  855. ! __inline static double
  856. ! ceil (double x) __const_attribute;
  857. ! __inline static double
  858.   ceil (double x)
  859.   {
  860.     int rounding_mode, round_up;
  861. ***************
  862. *** 391,397 ****
  863.     return value;
  864.   }
  865.   
  866. ! __inline static const double
  867.   floor (double x)
  868.   {
  869.     int rounding_mode, round_down;
  870. --- 441,449 ----
  871.     return value;
  872.   }
  873.   
  874. ! __inline static double
  875. ! floor (double x) __const_attribute;
  876. ! __inline static double
  877.   floor (double x)
  878.   {
  879.     int rounding_mode, round_down;
  880. ***************
  881. *** 414,420 ****
  882.     return value;
  883.   }
  884.   
  885. ! __inline static const double
  886.   rint (double x)
  887.   {
  888.     int rounding_mode, round_nearest;
  889. --- 466,474 ----
  890.     return value;
  891.   }
  892.   
  893. ! __inline static double
  894. ! rint (double x) __const_attribute;
  895. ! __inline static double
  896.   rint (double x)
  897.   {
  898.     int rounding_mode, round_nearest;
  899. ***************
  900. *** 436,442 ****
  901.     return value;
  902.   }
  903.   
  904. ! __inline static const double
  905.   fmod (double x, double y)
  906.   {
  907.     double value;
  908. --- 490,498 ----
  909.     return value;
  910.   }
  911.   
  912. ! __inline static double
  913. ! fmod (double x, double y) __const_attribute;
  914. ! __inline static double
  915.   fmod (double x, double y)
  916.   {
  917.     double value;
  918. ***************
  919. *** 448,454 ****
  920.     return value;
  921.   }
  922.   
  923. ! __inline static const double
  924.   drem (double x, double y)
  925.   {
  926.     double value;
  927. --- 504,512 ----
  928.     return value;
  929.   }
  930.   
  931. ! __inline static double
  932. ! drem (double x, double y) __const_attribute;
  933. ! __inline static double
  934.   drem (double x, double y)
  935.   {
  936.     double value;
  937. ***************
  938. *** 460,466 ****
  939.     return value;
  940.   }
  941.   
  942. ! __inline static const double
  943.   scalb (double x, int n)
  944.   {
  945.     double value;
  946. --- 518,526 ----
  947.     return value;
  948.   }
  949.   
  950. ! __inline static double
  951. ! scalb (double x, int n) __const_attribute;
  952. ! __inline static double
  953.   scalb (double x, int n)
  954.   {
  955.     double value;
  956. ***************
  957. *** 473,478 ****
  958. --- 533,540 ----
  959.   }
  960.   
  961.   __inline static double
  962. + logb (double x) __const_attribute;
  963. + __inline static double
  964.   logb (double x)
  965.   {
  966.     double exponent;
  967. ***************
  968. *** 483,489 ****
  969.     return exponent;
  970.   }
  971.   
  972. ! __inline static const double
  973.   ldexp (double x, int n)
  974.   {
  975.     double value;
  976. --- 545,553 ----
  977.     return exponent;
  978.   }
  979.   
  980. ! __inline static double
  981. ! ldexp (double x, int n) __const_attribute;
  982. ! __inline static double
  983.   ldexp (double x, int n)
  984.   {
  985.     double value;
  986. ***************
  987. *** 536,539 ****
  988.   }
  989.   #endif
  990.   
  991. ! #endif /* _MATH_68881_H */
  992. --- 600,603 ----
  993.   }
  994.   #endif
  995.   
  996. ! #endif /* not __math_68881 */
  997. *** 41.1    1993/11/03 14:12:50
  998. --- ./math.h    1993/11/24 20:06:20
  999. ***************
  1000. *** 101,107 ****
  1001.   extern const double _infinitydf;    /* in normdf.cpp */
  1002.   
  1003.   
  1004. ! #if defined(_M68881) || defined(__M68881__)
  1005.   #  include <math-68881.h>
  1006.   #else
  1007.   #  define HUGE_VAL  (_infinitydf)
  1008. --- 101,113 ----
  1009.   extern const double _infinitydf;    /* in normdf.cpp */
  1010.   
  1011.   
  1012. ! #if defined(__GNUC_INLINE__) && (!defined(NO_INLINE_MATH)) && (defined(_M68881) || defined(__M68881__))
  1013. ! #  define _INLINE_MATH 1
  1014. ! #else
  1015. ! #  define _INLINE_MATH 0
  1016. ! #endif
  1017. ! #if _INLINE_MATH
  1018.   #  include <math-68881.h>
  1019.   #else
  1020.   #  define HUGE_VAL  (_infinitydf)
  1021. ***************
  1022. *** 118,157 ****
  1023.   # endif
  1024.   #endif
  1025.   
  1026. ! #if !(defined(_M68881) || defined(__M68881__))
  1027. ! __EXTERN double    acos    __PROTO((double));
  1028.   __EXTERN double asin    __PROTO((double));
  1029.   __EXTERN double atan    __PROTO((double));
  1030. ! __EXTERN double atanh    __PROTO((double));
  1031. ! __EXTERN double cos    __PROTO((double));
  1032.   __EXTERN double cosh    __PROTO((double));
  1033. ! __EXTERN double fabs    __PROTO((double));
  1034. ! __EXTERN double dabs    __PROTO((double));
  1035.   __EXTERN double exp    __PROTO((double));
  1036.   __EXTERN double log    __PROTO((double));
  1037.   __EXTERN double log10    __PROTO((double));
  1038. - __EXTERN double fmod    __PROTO((double, double));
  1039. - __EXTERN double sin    __PROTO((double));
  1040. - __EXTERN double sinh    __PROTO((double));
  1041.   __EXTERN double sqrt    __PROTO((double));
  1042.   __EXTERN double hypot   __PROTO((double, double));
  1043. ! __EXTERN double tan    __PROTO((double));
  1044. ! __EXTERN double tanh    __PROTO((double));
  1045. ! __EXTERN double floor    __PROTO((double));
  1046.   __EXTERN double ceil    __PROTO((double));
  1047.   __EXTERN double rint    __PROTO((double));
  1048.   
  1049.   __EXTERN double acosh    __PROTO((double));
  1050.   __EXTERN double asinh    __PROTO((double));
  1051. - __EXTERN double atan2    __PROTO((double, double));
  1052. - __EXTERN double pow    __PROTO((double, double));
  1053. - #endif
  1054.   
  1055.   #ifndef __STRICT_ANSI__
  1056.   
  1057. ! #if defined(_M68881) || defined(__M68881__)
  1058.   #  define dabs(x) fabs(x)
  1059.   #endif
  1060.   
  1061.   __EXTERN double copysign    __PROTO((double, double));
  1062. --- 124,167 ----
  1063.   # endif
  1064.   #endif
  1065.   
  1066. ! #if !_INLINE_MATH
  1067. ! __EXTERN double sin    __PROTO((double));
  1068. ! __EXTERN double cos    __PROTO((double));
  1069. ! __EXTERN double tan    __PROTO((double));
  1070.   __EXTERN double asin    __PROTO((double));
  1071. + __EXTERN double    acos    __PROTO((double));
  1072.   __EXTERN double atan    __PROTO((double));
  1073. ! __EXTERN double atan2    __PROTO((double, double));
  1074. ! __EXTERN double sinh    __PROTO((double));
  1075.   __EXTERN double cosh    __PROTO((double));
  1076. ! __EXTERN double tanh    __PROTO((double));
  1077. ! __EXTERN double atanh    __PROTO((double));
  1078.   __EXTERN double exp    __PROTO((double));
  1079.   __EXTERN double log    __PROTO((double));
  1080.   __EXTERN double log10    __PROTO((double));
  1081.   __EXTERN double sqrt    __PROTO((double));
  1082.   __EXTERN double hypot   __PROTO((double, double));
  1083. ! __EXTERN double pow    __PROTO((double, double));
  1084. ! __EXTERN double fabs    __PROTO((double));
  1085.   __EXTERN double ceil    __PROTO((double));
  1086. + __EXTERN double floor    __PROTO((double));
  1087.   __EXTERN double rint    __PROTO((double));
  1088. + __EXTERN double fmod    __PROTO((double, double));
  1089. + __EXTERN double ldexp    __PROTO((double, int));
  1090. + __EXTERN double frexp    __PROTO((double, int *));
  1091. + __EXTERN double modf    __PROTO((double, double *));
  1092. + #endif
  1093.   
  1094.   __EXTERN double acosh    __PROTO((double));
  1095.   __EXTERN double asinh    __PROTO((double));
  1096.   
  1097.   #ifndef __STRICT_ANSI__
  1098.   
  1099. ! #if _INLINE_MATH
  1100.   #  define dabs(x) fabs(x)
  1101. + #else
  1102. + __EXTERN double dabs    __PROTO((double));
  1103.   #endif
  1104.   
  1105.   __EXTERN double copysign    __PROTO((double, double));
  1106. ***************
  1107. *** 185,196 ****
  1108.   __EXTERN double poly    __PROTO((int, double *, double));
  1109.   
  1110.   #endif /* __STRICT_ANSI__ */
  1111. - #if !(defined(_M68881) || defined(__M68881__))
  1112. - __EXTERN double modf    __PROTO((double, double *));
  1113. - __EXTERN double ldexp    __PROTO((double, int));
  1114. - __EXTERN double frexp    __PROTO((double, int *));
  1115. - #endif /* !_M68881 */
  1116.   
  1117.   #endif /* __TURBOC__ */
  1118.   
  1119. --- 195,200 ----
  1120. *** 41.1    1993/11/03 14:12:50
  1121. --- ./minimal.h    1993/11/30 18:49:24
  1122. ***************
  1123. *** 17,23 ****
  1124.   
  1125.   #ifndef __MINT__
  1126.   
  1127. ! __EXTERN __EXITING __exit __PROTO((long)); /* def in crt0.c */
  1128.   int       raise    __PROTO((int sig));
  1129.   void     _exit  __PROTO((int status));
  1130.   
  1131. --- 17,23 ----
  1132.   
  1133.   #ifndef __MINT__
  1134.   
  1135. ! __EXTERN __EXITING __exit __PROTO((long)) __NORETURN; /* def in crt0.c */
  1136.   int       raise    __PROTO((int sig));
  1137.   void     _exit  __PROTO((int status));
  1138.   
  1139. ***************
  1140. *** 36,42 ****
  1141.   
  1142.   #else
  1143.   
  1144. ! __EXTERN __EXITING _exit __PROTO((int));
  1145.   #define __exit _exit
  1146.   
  1147.   #endif /* __MINT__ */
  1148. --- 36,42 ----
  1149.   
  1150.   #else
  1151.   
  1152. ! __EXTERN __EXITING _exit __PROTO((int)) __NORETURN;
  1153.   #define __exit _exit
  1154.   
  1155.   #endif /* __MINT__ */
  1156. ***************
  1157. *** 68,74 ****
  1158.       char **argv;
  1159.       char **environ;
  1160.   {
  1161. !     __EXTERN int main __PROTO((int, char **, char **));
  1162.       exit(main((int)argc, argv, environ));
  1163.   }
  1164.   
  1165. --- 68,75 ----
  1166.       char **argv;
  1167.       char **environ;
  1168.   {
  1169. !     /* Avoid prototyping main, it will conflict with user's version */
  1170. !     __EXTERN int main ();
  1171.       exit(main((int)argc, argv, environ));
  1172.   }
  1173.   
  1174. *** 41.1    1993/11/03 14:12:50
  1175. --- ./mintbind.h    1994/01/09 10:00:32
  1176. ***************
  1177. *** 75,81 ****
  1178.       Psigaction(sig, (long)(act), (long)(oact))
  1179.   int Pgeteuid( void );                /* GEMDOS 0x138 */
  1180.   int Pgetegid( void );                /* GEMDOS 0x139 */
  1181. ! int Pwaitpid(int pid, int flag, long *rusage);    /* GEMDOS 0x13a */
  1182.   long Dgetcwd(char *path, int drv, int size);    /* GEMDOS 0x13b */
  1183.   long Salert(char *msg);                /* GEMDOS 0x13c */
  1184.   
  1185. --- 75,81 ----
  1186.       Psigaction(sig, (long)(act), (long)(oact))
  1187.   int Pgeteuid( void );                /* GEMDOS 0x138 */
  1188.   int Pgetegid( void );                /* GEMDOS 0x139 */
  1189. ! long Pwaitpid(int pid, int flag, long *rusage);    /* GEMDOS 0x13a */
  1190.   long Dgetcwd(char *path, int drv, int size);    /* GEMDOS 0x13b */
  1191.   long Salert(char *msg);                /* GEMDOS 0x13c */
  1192.   
  1193. ***************
  1194. *** 222,228 ****
  1195.   #define Psemaphore(a, b, c) _lmsll(0x134, a, b, c)
  1196.   #define Dlock(a, b) _smss(0x135, a, b)
  1197.   #define Psigpause(a) _vml(0x136,a)
  1198. ! #define Psigaction(a, b, c) _lmsll(0x137, a, b, c)
  1199.   #define Pgeteuid() _imv(0x138)
  1200.   #define Pgetegid() _imv(0x139)
  1201.   #define Pwaitpid(a, b, c) _imssq(0x13a, a, b, c)
  1202. --- 222,228 ----
  1203.   #define Psemaphore(a, b, c) _lmsll(0x134, a, b, c)
  1204.   #define Dlock(a, b) _smss(0x135, a, b)
  1205.   #define Psigpause(a) _vml(0x136,a)
  1206. ! #define Psigaction(a, b, c) _lmsll(0x137, a, (long)b, (long)c)
  1207.   #define Pgeteuid() _imv(0x138)
  1208.   #define Pgetegid() _imv(0x139)
  1209.   #define Pwaitpid(a, b, c) _imssq(0x13a, a, b, c)
  1210. *** 41.1    1993/11/03 14:12:50
  1211. --- ./osbind.h    1994/01/09 10:00:44
  1212. ***************
  1213. *** 319,325 ****
  1214.   long _lglss(int,long,int,int);
  1215.   long _lgTss(int,_DOSTIME *,int,int);
  1216.   
  1217. ! int _igsCSC(int,int,const char *,const char *,const char *);
  1218.   long _lgssll(int,int,int,long,long);
  1219.   
  1220.   #pragma inline _vgv((short)) {register d2,a2; "4e41";}
  1221. --- 319,325 ----
  1222.   long _lglss(int,long,int,int);
  1223.   long _lgTss(int,_DOSTIME *,int,int);
  1224.   
  1225. ! int _igsCpp(int,int,const char *,void *,void *);
  1226.   long _lgssll(int,int,int,long,long);
  1227.   
  1228.   #pragma inline _vgv((short)) {register d2,a2; "4e41";}
  1229. ***************
  1230. *** 355,361 ****
  1231.   #pragma inline d0=_lgTss((short),,(short),(short)) {register d2,a2; "4e41";}
  1232.   #pragma inline d0=_igsCC((short),(short),,) {register d2,a2; "4e41";}
  1233.   
  1234. ! #pragma inline d0=_igsCSC((short),(short),,,) {register d2,a2; "4e41";}
  1235.   
  1236.   
  1237.   #define Pterm0()    _vgv(0)
  1238. --- 355,361 ----
  1239.   #pragma inline d0=_lgTss((short),,(short),(short)) {register d2,a2; "4e41";}
  1240.   #pragma inline d0=_igsCC((short),(short),,) {register d2,a2; "4e41";}
  1241.   
  1242. ! #pragma inline d0=_igsCpp((short),(short),,,) {register d2,a2; "4e41";}
  1243.   
  1244.   
  1245.   #define Pterm0()    _vgv(0)
  1246. ***************
  1247. *** 403,409 ****
  1248.   #define Malloc(a)    _pgl(72,a)
  1249.   #define Mfree(a)    _igp(73,a)
  1250.   #define Mshrink(a,b)    _lgspl(74,0,a,b)
  1251. ! #define Pexec(a,b,c,d)    _igsCSC(75,a,b,c,d)
  1252.   #define Pterm(a)    _vgs(76,a)
  1253.   #define Fsfirst(a,b)    _igCs(78,a,b)
  1254.   #define Fsnext()    _igv(79)
  1255. --- 403,409 ----
  1256.   #define Malloc(a)    _pgl(72,a)
  1257.   #define Mfree(a)    _igp(73,a)
  1258.   #define Mshrink(a,b)    _lgspl(74,0,a,b)
  1259. ! #define Pexec(a,b,c,d)    _igsCpp(75,a,b,c,d)
  1260.   #define Pterm(a)    _vgs(76,a)
  1261.   #define Fsfirst(a,b)    _igCs(78,a,b)
  1262.   #define Fsnext()    _igv(79)
  1263. *** 41.1    1993/11/03 14:12:50
  1264. --- ./stdlib.h    1993/11/30 18:49:26
  1265. ***************
  1266. *** 86,97 ****
  1267.   
  1268.   #endif /* __STRICT_ANSI__ */
  1269.   
  1270. ! __EXTERN __EXITING abort __PROTO((void));
  1271. ! #ifndef __cplusplus
  1272.     /* bug in g++ 1.39.0 -- cant digest proto */
  1273.   __EXTERN int atexit __PROTO((void (*)(void)));
  1274.   #endif
  1275. ! __EXTERN __EXITING exit __PROTO((int status));
  1276.   
  1277.   __EXTERN char *getenv __PROTO((const char *tag));
  1278.   __EXTERN int system __PROTO((const char *s));
  1279. --- 86,97 ----
  1280.   
  1281.   #endif /* __STRICT_ANSI__ */
  1282.   
  1283. ! __EXTERN __EXITING abort __PROTO((void)) __NORETURN;
  1284. ! #if !(defined (__GNUG__) && __GNUG__ == 1)
  1285.     /* bug in g++ 1.39.0 -- cant digest proto */
  1286.   __EXTERN int atexit __PROTO((void (*)(void)));
  1287.   #endif
  1288. ! __EXTERN __EXITING exit __PROTO((int)) __NORETURN;
  1289.   
  1290.   __EXTERN char *getenv __PROTO((const char *tag));
  1291.   __EXTERN int system __PROTO((const char *s));
  1292. ***************
  1293. *** 118,123 ****
  1294. --- 118,133 ----
  1295.   __EXTERN wchar_t *wcsncat __PROTO((wchar_t *, const wchar_t *, size_t));
  1296.   __EXTERN int wcsncmp __PROTO((const wchar_t *, const wchar_t *, size_t));
  1297.   __EXTERN wchar_t *wcsncpy __PROTO((wchar_t *, const wchar_t *, size_t));
  1298. + #if defined(__LATTICE__) && !defined(_NO_INLINE)
  1299. + int    __builtin_abs(int);
  1300. + long    __builtin_labs(long);
  1301. + #define abs(i)    __builtin_abs(i);
  1302. + #define labs(l)    __builtin_labs(l);
  1303. + #endif
  1304.   
  1305.   #ifdef __cplusplus
  1306.   }
  1307. *** 41.1    1993/11/03 14:12:50
  1308. --- ./support.h    1994/01/09 09:14:40
  1309. ***************
  1310. *** 45,51 ****
  1311.   __EXTERN time_t dostime __PROTO((time_t));
  1312.   __EXTERN time_t unixtime __PROTO((unsigned dostime, unsigned dosdate));
  1313.   
  1314. ! __EXTERN char *buffindfile __PROTO((const char *fname, const char *fpath,
  1315.                       char *const *fext, char *buffer));
  1316.   __EXTERN char *findfile __PROTO((const char *fname, const char *fpath,
  1317.                       char *const *fext));
  1318. --- 45,51 ----
  1319.   __EXTERN time_t dostime __PROTO((time_t));
  1320.   __EXTERN time_t unixtime __PROTO((unsigned dostime, unsigned dosdate));
  1321.   
  1322. ! __EXTERN char *_buffindfile __PROTO((const char *fname, const char *fpath,
  1323.                       char *const *fext, char *buffer));
  1324.   __EXTERN char *findfile __PROTO((const char *fname, const char *fpath,
  1325.                       char *const *fext));
  1326. ***************
  1327. *** 57,64 ****
  1328.   __EXTERN long get_sysvar __PROTO((void *var));
  1329.   __EXTERN void set_sysvar_to_long __PROTO((void *var, long val));
  1330.   
  1331. ! __EXTERN __EXITING    __exit    __PROTO((long status));
  1332. ! __EXTERN __EXITING _exit    __PROTO((int));
  1333.   
  1334.   __EXTERN int _fork __PROTO((char *save_to));
  1335.   __EXTERN int _wait __PROTO((int *exit_code));
  1336. --- 57,64 ----
  1337.   __EXTERN long get_sysvar __PROTO((void *var));
  1338.   __EXTERN void set_sysvar_to_long __PROTO((void *var, long val));
  1339.   
  1340. ! __EXTERN __EXITING    __exit    __PROTO((long status)) __NORETURN;
  1341. ! __EXTERN __EXITING _exit    __PROTO((int)) __NORETURN;
  1342.   
  1343.   __EXTERN int _fork __PROTO((char *save_to));
  1344.   __EXTERN int _wait __PROTO((int *exit_code));
  1345. *** 41.1    1993/11/03 14:12:50
  1346. --- ./termios.h    1993/11/24 21:08:28
  1347. ***************
  1348. *** 110,115 ****
  1349. --- 110,116 ----
  1350.   #define B50        1
  1351.   #define B75        2
  1352.   #define B110        3
  1353. + #define B134        4
  1354.   #define B135        4
  1355.   #define B150        5
  1356.   #define B200        6
  1357. *** 41.1    1993/11/03 14:12:50
  1358. --- ./unistd.h    1993/11/30 18:49:30
  1359. ***************
  1360. *** 80,86 ****
  1361.   # endif
  1362.   #endif /* __MINT__ */
  1363.   
  1364. ! __EXTERN __EXITING _exit    __PROTO((int));
  1365.   __EXTERN int    access    __PROTO((const char *, int));
  1366.   __EXTERN unsigned alarm    __PROTO((unsigned));
  1367.   __EXTERN int    chdir    __PROTO((const char *));
  1368. --- 80,86 ----
  1369.   # endif
  1370.   #endif /* __MINT__ */
  1371.   
  1372. ! __EXTERN __EXITING _exit    __PROTO((int)) __NORETURN;
  1373.   __EXTERN int    access    __PROTO((const char *, int));
  1374.   __EXTERN unsigned alarm    __PROTO((unsigned));
  1375.   __EXTERN int    chdir    __PROTO((const char *));
  1376.